package com.day10_File_test;

import java.io.File;
import java.io.IOException;

/**
 * @ClassName: test01
 * @Author: zw
 * @Description: 出百万拳，行万里路；
 * @Create 2024/3/13-08:27
 * @Version 1.0
 */
public class test01 {
    public static void main(String[] args) throws IOException {
        File f = new File("/Users/mzhaowang/Desktop/web/file.txt");
        System.out.println(f);
        System.out.println(f.createNewFile());

        // 我要创建一个文件夹， 目录
        File f1 = new File("/Users/mzhaowang/Desktop/web/FileTest");
        System.out.println(f1.mkdir()); // 返回true了

        // 我要创建一个多级目录
        File f2 = new File("/Users/mzhaowang/Desktop/web/FileTest01/html");
        System.out.println(f2.mkdirs());

        System.out.println("file判断和获取");
        System.out.println(f2.isDirectory()); // 判断是否是目录
        System.out.println(f2.isFile()); // isFile ?
        System.out.println(f2.getAbsolutePath());
        System.out.println(f1.list()); //是一个字符串数组
        File f3 = new File("/Users/mzhaowang/Desktop/web/");
        String[] s = f3.list(); // list返回的是一个字符串数组
//        for (String i: s) {
//            System.out.println("--");
//            System.out.println(i);
//        }

        getfile(f3);
    }

    // 递归获取一个目录下的所有文件和目录
    public static void getfile(File srcFile) {
        // 获取file对象下的所有File数组
        File[] flist = srcFile.listFiles(); //返回的是一个 file数组
        for (File fs: flist) {
            //  判断是不是目录
            if (fs.isDirectory()) {
                // 如果是目录那么就递归调用；
                getfile(fs);
            } else {
                // 如果不是目录就输出 文件名
                System.out.println(fs.getAbsolutePath());
            }
        }
    }
}
